package com.xiaoshuidi.cloud.module.member.convert.point;

import com.xiaoshuidi.cloud.module.member.controller.admin.point.vo.MemberPointChangesExportVo;
import com.xiaoshuidi.cloud.module.member.controller.admin.point.vo.MemberPointChangesPageRespVo;
import com.xiaoshuidi.cloud.module.member.controller.admin.point.vo.MemberPointsExcelVo;
import com.xiaoshuidi.cloud.module.member.controller.admin.point.vo.MemberPointsPageRespVo;
import com.xiaoshuidi.cloud.module.member.controller.app.point.vo.TenantPointsDto;
import com.xiaoshuidi.cloud.module.member.controller.app.point.vo.TenantPointsRecordDto;
import com.xiaoshuidi.cloud.module.member.controller.app.point.vo.TenantPointsVo;
import com.xiaoshuidi.cloud.module.member.pojo.point.MemberPointsEntity;
import com.xiaoshuidi.cloud.module.member.pojo.point.MemberPointsRecordEntity;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

@Mapper
public interface PointsConvert {

    PointsConvert INSTANCE = Mappers.getMapper(PointsConvert.class);

    TenantPointsDto convert(MemberPointsEntity entity);

    MemberPointsEntity convert(TenantPointsDto dto);

    List<TenantPointsDto> convert(List<MemberPointsEntity> entity);

    List<TenantPointsRecordDto> convertRecords(List<MemberPointsRecordEntity> entity);

    List<MemberPointChangesExportVo> convertExport(List<MemberPointChangesPageRespVo> list);

    TenantPointsVo convertToVo(MemberPointsEntity entity);
    List<MemberPointsExcelVo> convertPointExport(List<MemberPointsPageRespVo> list);
}
